package com.sky.dto;
/**
 * 1. 当前模块名：sky-pojo
 *    模块作用：子模块，存放实体类（Entity）、视图对象（VO）、数据传输对象（DTO）等
 * 2. 当前包名：com.sky.dto
 *    包作用：存放 DTO（Data Transfer Object），用于系统各层之间传递数据，解耦实体类
 * 3. 当前类名：OrdersDTO
 *    类作用：封装一个完整订单的详细数据结构
 */
import com.sky.entity.OrderDetail;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
 * OrdersDTO：订单数据传输对象
 * 包含订单的基本信息、用户信息、地址信息、商品详情等。
 */
@Data
public class OrdersDTO implements Serializable {

    private Long id;

    //订单号
    private String number;

    //订单状态 1待付款，2待派送，3已派送，4已完成，5已取消
    private Integer status;

    //下单用户id
    private Long userId;

    //地址id
    private Long addressBookId;

    //下单时间
    private LocalDateTime orderTime;

    //结账时间
    private LocalDateTime checkoutTime;

    //支付方式 1微信，2支付宝
    private Integer payMethod;

    //实收金额
    private BigDecimal amount;

    //备注
    private String remark;

    //用户名
    private String userName;

    //手机号
    private String phone;

    //地址
    private String address;

    //收货人
    private String consignee;

    private List<OrderDetail> orderDetails;

}
/**
 * 仿写：
 * OrdersSummaryDTO：订单统计视图对象
 * 用于返回订单的简要信息（如列表页使用）
 * @Data
 * public class OrdersSummaryDTO implements Serializable {
 *
 *     // 订单编号
 *     private String orderNumber;
 *
 *     // 用户名
 *     private String userName;
 *
 *     // 支付金额
 *     private BigDecimal amount;
 *
 *     // 当前订单状态
 *     private Integer status;
 *
 *     // 支付方式
 *     private Integer payMethod;
 * }
 */